
#include <iostream>
#include <unistd.h>
#include "threadpool.hpp"

// void *test(void *args)
// {
//     std::string str = (char*) args;
//     std::cout << str << std::endl;

//     return nullptr;
// }

// int main()
// {
//     Thread pt1(test, (void *)"thread 1");
//     Thread pt2(test, (void *)"thread 2");
//     pt1.start();
//     pt2.start();

//     std::cout << pt1.getname() << std::endl;
//     std::cout << pt2.getname() << std::endl;

//     pt1.join();
//     pt2.join();

//     return 0;
// }
#include "task.hpp"

int main()
{
    ThreadPool<Task> tp;
    tp.start();
    while (1)
    {
        int x = rand() % 10 + 1;
        int y = rand() % 10;
        int op = rand() % 5;
        Task t(x,y,ops[op],mymath);
        tp.push(t);
        sleep(1);
    }


    return 0;
}